<?php

class RecordsController extends AppController {

    var $name = 'Records';
    
    function beforeFilter() {
        parent::beforeFilter();
        
        //si no es un usuario con nivel = 3 o 1 no lo dejo acceder a las siguientes funciones de este controlador
        if (in_array($this->action, array('index', 'view')) and $this->Auth->user('id') and !(in_array($this->Auth->user('level'), array(1,3)))) {
            $this->redirect(array('user' => false, 'controller' => 'articles', 'action' => 'inicio'));
        }
        if (in_array($this->action, array('add', 'edit', 'delete')) and $this->Auth->user('id')) {
            $this->redirect(array('user' => false, 'controller' => 'articles', 'action' => 'inicio'));
        }
    }

    function index() {
        $this->Record->recursive = 0;
        $this->paginate['order'] = array('Record.end_date' => 'ASC');
        $this->set('records', $this->paginate());
    }

    function view($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('Historial invalido', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->set('record', $this->Record->read(null, $id));
    }

    function add() {
        if (!empty($this->data)) {
            $this->Record->create();
            if ($this->Record->save($this->data)) {
//				$this->Session->setFlash(__('El historial fue guardado.', true));
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('El historial no fue guardado. Por favor, intente de nuevo.', true));
            }
        }
    }

    function edit($id = null) {
        if (!$id && empty($this->data)) {
            $this->Session->setFlash(__('Historial invalido', true));
            $this->redirect(array('action' => 'index'));
        }
        if (!empty($this->data)) {
            $array_datos = $this->data;
            list($d, $m, $a) = explode("/", $array_datos['Record']['start_date']);
            $fecha_inicio = $a . "-" . $m . "-" . $d;
            $array_datos['Record']['start_date'] = $fecha_inicio;
            
            list($d, $m, $a) = explode("/", $array_datos['Record']['end_date']);
            $fecha_fin = $a . "-" . $m . "-" . $d;
            $array_datos['Record']['end_date'] = $fecha_fin;
            
            if ($this->Record->save($array_datos)) {
//				$this->Session->setFlash(__('El historial fue guardado.', true));
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('El historial no fue guardado. Por favor, intente de nuevo.', true));
            }
        }
        if (empty($this->data)) {
            $this->data = $this->Record->read(null, $id);
            $this->data['Record']['start_date'] = date('d/m/Y', strtotime($this->data['Record']['start_date']));
            $this->data['Record']['end_date'] = date('d/m/Y', strtotime($this->data['Record']['end_date']));
        }
    }

    function delete($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('Historial invalido', true));
            $this->redirect(array('action' => 'index'));
        }
        if ($this->Record->delete($id)) {
            $this->Session->setFlash(__('Historial eliminado', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('Historial no eliminado', true));
        $this->redirect(array('action' => 'index'));
    }

}
